In known distributed software applications, software components are distributed among a plurality of executables (i.e., software capsules or software entities). Each of the executables contains one or more software components that perform some portion of the functionality of the distributed software application. For distributed software applications to work, the software components of the executables need to interact with each other. Many executables comprise dependency relationships with other software components of the distributed software application. The dependency relationships must be accounted for when initializing the distributed software application. For example, where a first executable is dependent on a second executable, the first executable must wait until the second executable has finished initialization before continuing with its own initialization. Initialization of the executables of the distributed software application must take place in an ordered sequence based on the dependency relationships between the software components.
As one shortcoming, the software developer must create extra software within the first and second executables to cause the initialization of the first executable to occur after the second executable has finished initialization.
Thus, a need exists to alleviate executables of the responsibility of initialization within an ordered sequence.